package com.biz.primus.ms.promotion.service.promotion;

import com.biz.primus.base.vo.PageVo;
import com.biz.primus.common.vo.SpringPageVO;
import com.biz.primus.model.promotion.vo.UserFirstOrderCutPromotionVo;

/**
 * 用户首单立减Service
 *
 * @author david-liu
 */
public interface UserFirstOrderCutPromotionManagementService {

    /**
     * 更新用户首单立减促销
     *
     * @param vo 用户首单立减促销Vo
     * @return Boolean
     */
    Boolean updateUserFirstOrderCutPromotion(UserFirstOrderCutPromotionVo vo);

    /**
     * 获取用户首单立减促销
     *
     * @param pageVo 分页Vo
     * @return 分页对象
     */
    SpringPageVO<UserFirstOrderCutPromotionVo> getUserFirstOrderCutPromotions(PageVo pageVo);

    /**
     * 获取用户首立减促销
     *
     * @param promotionId 促销ID
     * @return 用户首单立减Vo
     */
    UserFirstOrderCutPromotionVo getUserFirstOrderCutPromotion(Long promotionId);

    /**
     * 切换用户首单立减促销状态
     *
     * @param promotionId 促销ID
     * @return Boolean
     */
    Boolean toggleUserFirstOrderCutPromotionStatus(Long promotionId);
}
